package org.hk.kg.finance.stuclz.service;

import java.util.List;
import java.util.Map;

import org.hk.kg.db.IDBService;
import org.hk.kg.db.annotations.StatusMsg;
import org.hk.kg.db.annotations.Transaction;
import org.hk.kg.finance.FinanceConstants;
import org.hk.kg.utils.Constants;

public interface IStuClzService extends IDBService {
	@StatusMsg(
			beginMsg=FinanceConstants.MSG_STUCLZ_QUERY_BEGIN,
			endMsg=FinanceConstants.MSG_STUCLZ_QUERY_END,
			errMsg=FinanceConstants.MSG_STUCLZ_QUERY_ERROR
	)
	public List query();
	
	@Transaction
	@StatusMsg(
			beginMsg=FinanceConstants.MSG_STUCLZ_CREATE_BEGIN,
			endMsg=FinanceConstants.MSG_STUCLZ_CREATE_END,
			errMsg=FinanceConstants.MSG_STUCLZ_CREATE_ERROR
			)
	public boolean createStuClz(String clzName,String clzType);
	
	@Transaction
	@StatusMsg(
			beginMsg=FinanceConstants.MSG_STUCLZ_DEL_BEGIN,
			endMsg=FinanceConstants.MSG_STUCLZ_DEL_END,
			errMsg=FinanceConstants.MSG_STUCLZ_DEL_ERROR
			)
	public boolean deleteStuClasses(Object[] clzIds);
	
	@Transaction
	@StatusMsg(
			beginMsg=FinanceConstants.MSG_STUCLZ_UPT_BEGIN,
			endMsg=FinanceConstants.MSG_STUCLZ_UPT_END,
			errMsg=FinanceConstants.MSG_STUCLZ_UPT_ERROR
			)
	public boolean modifyStuClz(int clzId,String clzName,String clzType);
	
	@StatusMsg(
			beginMsg=FinanceConstants.MSG_STUCLZ_QRY_ONE_BEGIN,
			endMsg=FinanceConstants.MSG_STUCLZ_QRY_ONE_END,
			errMsg=FinanceConstants.MSG_STUCLZ_QRY_ONE_ERROR
			)
	public Map getStuClzById(int clzId);
}
